software testing types interview questions